﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Financeiro.Model;
using System.Data;

namespace Financeiro
{
    public partial class Holerite : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!((Page)System.Web.HttpContext.Current.CurrentHandler).IsPostBack)
            {

                // buscando os parametros para edicao
                string nome = (string)Session["nome"];
                this.lblNome.Text = nome;
                string competencia = (string)Session["mes"] + "/" + (string)Session["ano"];
                lblCompetencia.Text = competencia;

                int codigo = Convert.ToInt32((string)Session["codigo"]);

                // data da geração do relatório
                lblDataGeracao.Text = DateTime.Now.ToString();

                // devemos buscar o resto dos dados
                DataTable dt = HoleriteModel.buscarDadosFuncionario(codigo);
                
                // TODO: verificar se existem dados
                // esperamos apenas uma linha como resposta

                lblCargo.Text = (string)dt.Rows[0]["Cargo"];
                lblSetor.Text = (string)dt.Rows[0]["Setor"];

                // carrega o grid com os pagamentos
                HoleriteModel holerite = new HoleriteModel(codigo, Convert.ToInt16(Session["mes"]), Convert.ToInt16(Session["ano"]));
                DataTable pagamentos = holerite.buscarPagamentosFuncionario();
               
                if (pagamentos != null)
                {
                    atualizarListBox(pagamentos);
                }

                // javascript para impressao
                bntImprimir.Attributes.Add("onclick", "javascript:CallPrint();");
            }
        }

        // esta função espera um DataTable
        private void atualizarListBox(DataTable dt)
        {
            foreach (DataRow dr in dt.Rows)
            {
                lstPagamentos.Items.Add(dr[0].ToString());

            }
        }
    }
}